In general, data storage systems maintain host data on behalf of host devices. Such host data is typically stored within logical units (LUNs) on physical storage devices such as solid state drives and magnetic disk drives. A pool is a collection of physical storage devices grouped together. A particular type of data storage system manages host data within thin pool LUNs (TLUs). A TLU is a type of LUN which grows in size dynamically based on the amount of host data it must hold. That is, when new host data is written to a TLU, LUN slices from a pool of LUN slices are added to the TLU on demand.
One conventional data storage system is equipped with a recovery program which enables the conventional data storage system to recover data from an unhealthy TLU. Along these lines, suppose that an unhealthy TLU is detected in the conventional data storage system. Each TLU resides in a container file system hence referred to as “file system” in this context. For example, during operation, suppose that the data storage system identifies corrupted file system metadata. In this situation, the unhealthy TLU, or multiple TLUs if more than one resides in the file system, is taken offline and the recovery program is started. For the recovery program to run properly, the recovery program borrows LUN slices from the pool of LUN slices, and then uses the borrowed LUN slices as scratch space to recover the file system metadata (e.g., the recovery program may apply error checking and error correction algorithms to remaining uncorrupted portions of file system metadata to recreate the metadata). Once the data is properly recovered by the recovery program, the recovery program terminates and the borrowed LUN slices are released back to the pool.